// JavaScript Document
function selectNavMenu(menu) {
	$(".menuCentro").removeClass("menuCornerIzqActivo");
	$(".menuCentro").removeClass("menuCentroActivo");
	$(menu).addClass("menuCentroActivo");
}

function selectIzqMenu(boton) {
	$(".botonTramite").removeClass("botonTramiteBlanco");
	$(".rf-pm-top-gr-hdr").removeClass("botonTramiteBlanco");
	$(boton).addClass("botonTramiteBlanco");
}

function showPart(parte) {
	$("#parteC").hide("slow");
	$("#parteD").hide("slow");
	$("#" + parte).show("fast");
}

var excludeTableClass = [ "rf-dt", "rf-cal-extr", "scrollPage" ];
var excludeTableId = [ "rf-dt" ];
$(document).ready(function() {
	fixLayout();
});

$("#contentLayout").load(function() {
	fixLayout();
});

function fixLayout() {
	//tablas
	fixTableWidth();
	//bloqueos
	lock();
	//arreglo de ancho de ExtendendDataTable
	fixExtendedInitialWidth();
	//ajustar visualziación de campos requeridos
	camposRequeridos();
	//tooltips
	tooltipSelect();
	//mostrar errores
	showErrorGeneral();
	
}

function fixTableWidth(){
	// arreglar tablas
	$(".rf-cp-b")
			.each(
					function() {
						$(this)
								.children("table")
								.each(
										function() {
											var exist = false;
											for ( var int = 0; int < excludeTableClass.length; int++) {
												exist = $(this).hasClass(
														excludeTableClass[int]);
												if (exist) {
													break;
												}
											}
											if (!exist) {
												// buscar cuantas columnas tiene
												var cantColumnas = $(
														$(this).children(
																"tbody")
																.children("tr")[0])
														.children("td").length;
												// agregar clase principal
												var claseTd = "tdClass"
														+ cantColumnas;
												$(this).addClass("tableClass");
												var cantColumnas = $(
														$(this).children(
																"tbody")[0])
														.children("tr")
														.children("td")
														.addClass(claseTd);
											}

										});
					});
}

function lock(){
	//ocultar div si se queda abierto
	if(RichFaces.$('form\:waitingPopup')){
		RichFaces.$('form\:waitingPopup').hide();
	}
	
	// bloquea la tecla F5
	$(document).bind("keydown", "F5", function() {
		// instrucción de bloqueo necesaria
		// para el navedator Internet Explorer.
		if(navigator.appVersion.indexOf('MSIE') != -1) {
			event.keyCode = 0;
			event.returnValue = false;
		}		
		return false;
	});
	
	// subrutina que permte bloquear la tecla Backspace cuando
	// no se encuentra el foco sobre un campo de texto y un
	// campo de area. 
	$(document).keydown(function(event) {
		var campo = $(document.activeElement).is("input:focus, textarea:focus");
			
			// Instrucción necesaria para el navegador Internet Explorer
			if(navigator.appVersion.indexOf('MSIE') != -1 && event.keyCode == 8 && !campo) {
				event.keyCode = 0;
				event.returnValue = false;
				return false;
			}
		
			// Instrucción necesaria para el navegador Firefox
			if(event.keyCode == 8 && !campo) {			
				return false;
			};
	});
	
	//Deshabilta menús contextuales
	document.oncontextmenu = function() {
		return false;
	};
}
function fixExtendedInitialWidth(){
	//quitar anchos que quedan con 0 pixeles de las tablas 
	$('*[style="height: 0px;"]').attr('style','');
	
	var claveFix = "_fixWidth_";
	$("div[class*='rf-edt-c-']").each(function(){
		var partes = $(this).attr('class').split(" ");
		for (var i=0;i<partes.length;i++) {
			var parte = partes[i]; 
			
			var claveWidth = "{width: 100px;}";
			var claveTabla = "__";
			var indiceFix = parte.indexOf(claveFix);
			var indiceTabla = parte.indexOf(claveTabla);
			if(indiceFix!=-1 && indiceTabla!=-1){
				var porciento =  parte.substring(indiceFix+claveFix.length);
				var tabla =  parte.substring(indiceTabla+claveTabla.length,indiceFix);
				var anchoTabla = $("div[id$='"+tabla+"']").parent().parent().width();
				var ancho = Math.floor(porciento * anchoTabla / 100);
				if(ancho!=0){
					$("."+parte).width(ancho);
				}
			}
		}
	});
	
}


function tooltipSelect(){
	$(".selectCheck label").each(function(){
		var html = $(this).html();
		if(html.length>50){
			$(this).attr("title",html);
			$(this).attr("alt",html);
		}
		
	});
}


function showErrorGeneral(){
	//ocultar div si se queda abierto
	if(RichFaces.$('form\:messagePopup')){
		RichFaces.$('form\:messagePopup').hide();
		if($('#form\\:mensajesGlobales').html().length>0){
			RichFaces.$('form\:messagePopup').show();
		}
	}
	
}

function obtenerParametroQueryString(parametro) {
    var urlPagina = window.location.search.substring(1);
    var urlVariables = urlPagina.split('?');
    for (var i = 0; i < urlVariables.length; i++) {
       var nombreParametro = urlVariables[i].split('=');
       if (nombreParametro[0] == parametro) {
           return nombreParametro[1];
       }
    }
}

function recargarPagina(){
	//agregar comportamiento de click del modal
	$("#form\\:messagePopup_shade").click(function(){
		location.reload();
	});
	$(".validaSesion").click(function(){
		location.reload();
	});
	
}



function camposRequeridos(){
	$(".required").remove();
	$(".requerido").prepend("<div class='required'>*</div>");
}